Software Development
Debugging Fundamentals
Debugging Tools
Introduction to Debugging
Software Debugging in Windows
Visual Studio 2013 Debugging

Debugging Tools

Course Number:
sd_dbug_a03_it_enus
Lesson Objectives

Debugging Tools

  • start the course
  • recognize what Performance Monitor can do
  • recognize the features of Performance Monitor
  • recognize the Performance Monitor interface
  • use Performance Monitor
  • recognize .NET performance counters
  • recognize what PerfView can do
  • recognize the features of PerfView
  • install PerfView
  • recognize the PerfView interface
  • use PerfView
  • recognize what DebugDiag can do
  • recognize the features of DebugDiag
  • install DebugDiag
  • use the DebugDiag Analysis module
  • use the DebugDiag Collection module
  • recognize Visual Studio Online
  • sign up for Visual Studio Online
  • create a team project with Visual Studio Online
  • manage code with Visual Studio Online
  • collaborate with Visual Studio Online
  • use simple code to crash an application
  • use Event Viewer
  • generate a crash dump
  • attach the debugger to a crashed process
  • recognize how to remotely monitor a process using the Visual Studio debugger
  • understand the features of debugging tools including Performance Monitor, PerfView, DebugDiag, and Visual Studio Online

Overview/Description
Debugging is a necessary part of the development process, but there are numerous tools available to the developer. In this course, you'll explore various debugging tools, including Performance Monitor, PerfView, and DebugDiag. You'll also learn about Visual Studio Online, as well as some debugging tips.

Target Audience
Entry-level and experienced software developers

Introduction to Debugging

Course Number:
sd_dbug_a01_it_enus
Lesson Objectives

Introduction to Debugging

  • start the course
  • recognize basic concepts of debugging
  • recognize the importance of debugging
  • recognize basic debugging methodology
  • recognize basic causes and effects
  • recognize different types of software problems
  • recognize different types of software bugs
  • recognize the basics of measuring success in debugging
  • recognize how the journey begins
  • recognize the basics of monitoring, tracing, and profiling
  • recognize the basic development environments
  • recognize crashes
  • recognize hangs
  • recognize bad functionality
  • recognize performance problems
  • recognize the basic uses of Dr. Watson/Action Center
  • recognize the basic uses of performance counters
  • recognize the basic uses of MDbg
  • recognize the basic uses of PerfView
  • recognize the basic uses of DebugDiag
  • recognize prevention practices
  • recognize general debugging tips
  • recognize the six rules of debugging
  • recognize debugging tips for editors and debuggers
  • recognize the qualities of effective debuggers
  • recognize ways to improve your debugging skills
  • understand the basic concepts of debugging

Overview/Description
In software development, debugging is a necessary part of the development process. It's difficult for developers to admit that their code is buggy, but the best software developers recognize that there's no such thing as perfect code. And while debugging is time-consuming and expensive, it must be included in the development cycle, just like any other component necessary to delivering a working piece of software. This course introduces the learner to basic concepts of software debugging, debugging tools, and debugging best practices.

Target Audience
Entry-level and experienced software developers

Software Debugging in Windows

Course Number:
sd_dbug_a04_it_enus
Lesson Objectives

Software Debugging in Windows

  • start the course
  • recognize how to install the Windows Debugging Tools
  • recognize the tools available in the Windows Debugging Tools set
  • recognize how to start the common debugging tools
  • recognize what symbol files are and how to retrieve them
  • recognize how debugging differs between various platforms
  • recognize the Windows Memory Management system
  • recognize basic concepts of the Windows Heap
  • recognize how the heap can be corrupted
  • recognize the tool available for monitoring heap
  • recognize how to use the Pageheap tool
  • recognize what causes resource issues
  • recognize how Windows handles are used to identify resource issues
  • recognize how to find resource handles for running applications
  • recognize how the UMDH, DebugDiag, and !heap commands are used to track down resource issues
  • recognize how to launch the UMDH tool
  • recognize web browser memory issues
  • recognize how to use the JSCRIPT Memory Analyzer tool
  • recognize the new debugging tools available with Windows 8
  • recognize the lifecycle of Windows 8 applications
  • recognize how to use the PLMDebug tool
  • recognize basic concepts of code analysis
  • recognize how to use the Code Analysis tools in Visual Studio
  • recognize how to create custom rules for the Code Analysis Dictionary
  • understand the various Windows debugging tools including managing memory issues, resource issues, and improving code quality

Overview/Description
Microsoft Windows is a powerful graphical user interface, and most software developers will develop Windows applications at some point. Software development means debugging, and this course will cover software debugging in Windows, including Windows debugging tools, Windows memory manager issues, and resource issues. You will also learn about Windows 8 debugging tools and improving code quality.

Target Audience
Entry-level and experienced software developers

Visual Studio 2013 Debugging

Course Number:
sd_dbug_a02_it_enus
Lesson Objectives

Visual Studio 2013 Debugging

  • start the course
  • use the Visual Studio 2013 Debug menu
  • recognize new features of Visual Studio 2013 debugging
  • recognize Visual Studio debugging environments
  • use Visual Studio 2013 debugger tips
  • recognize the debugger
  • recognize breakpoints
  • use breakpoint tips
  • recognize stepping through code
  • recognize the code map
  • recognize data visualizers
  • work with breakpoints
  • run the debugger
  • recognize code stepping
  • use the code map
  • use data visualizers
  • use IntelliTrace
  • install Windows debugging environments
  • install the NuGet Package Manager
  • recognize what MDbg can do
  • recognize MDbg features
  • install MDbg
  • launch MDbg
  • create dumps with Task Manager
  • create dumps with Visual Studio
  • recognize and install ProcDump
  • work with ProcDump
  • load and review dumps
  • understand concepts in debugging an application using Visual Studio 2013

Overview/Description
Visual Studio 2013 is a powerful development environment, and a large part of that power comes from its debugging capabilities. Software debugging is a fact of life, but Visual Studio and its various tools make the process a bit easier. In this course, you'll learn about software debugging in Visual Studio 2013, beginning with an introduction to Visual Studio, a discussion on its debugging capabilities, and various methods for debugging with Visual Studio. You will also learn about debugging environments of Visual Studio 2013, as well as how to generate and work with dumps.

Target Audience
Entry-level and experienced software developers

Close Chat Live